In modern automotive electronic control units, there exist a number of embedded control algorithms that control different aspects of the vehicle. For instance, there may be an algorithm that controls the amount of fuel injected into the cylinders and a different control algorithm that is responsible for shifting gears in the transmission. These algorithms are developed in a way that they can be used on many different vehicle types, engines, and transmission for a variety of markets with different emission and safety requirements. During real-time execution, each of these algorithms use what is termed “calibrations” or “parameters” to adapt itself to the vehicle and requirements that it is controlling.
In the process of adjusting or “calibrating” an automotive ECU, often it is required to obtain a given set of operating conditions. Exemplary scenarios may include: (1) in order to calibrate or test an algorithm that controls the engine cooling fan(s), the engine coolant temperature must be greater than a given temperature; (2) in order to calibrate or tests an algorithm that controls the shifting of an automatic transmission from second to third gears, it is required that the vehicle speed be high enough to trigger the shift; (3) in order to calibrate or test an algorithm that adjusts the amount of fuel going to the cylinders of the engine based on altitude, it is often necessary to drive the vehicle across a range of altitudes from sea level to high mountain territory; and (4) when the catalytic converter temperature exceeds a safe value, one or more algorithms may be activated in an attempt to cool down the converter before damage occurs. Obtaining the necessary operating conditions can often be complex, costly and difficult.
However, the present invention provides a technique for overwriting user selected random access memory (RAM) variables. For instance, the RAM variable associated with the measured coolant temperature may be set to a value that will turn on the algorithm that controls the cooling fan(s). In another instance, the RAM variable associated with the vehicle speed may be set to a value higher than the 2-3 shift trigger point to force the transmission into a desired gear. In yet another instance, the RAM variable associated with the vehicle altitude calculation may be set to a value that simulates the desired operating altitude. In this way, various operating conditions may be simulated without any modifications or access to the underlying ECU source code.
Similarly, the present invention may be employed to achieve actual operating conditions that may be difficult to otherwise obtain. For example, sometimes it is difficult in a vehicle equipped with an automatic transmission to achieve a condition where the engine rpm is very low while the engine torque is high because the transmission normally will downshift to a lower gear. With the present invention it is possible to overwrite the commanded gearstate of the transmission and force the transmission to any desired state regardless of engine rpm and torque load. In another example, it is sometimes necessary to quickly degrade/wear clutches inside an transmission or torque converter to simulate a high mileage operating condition. One way of degrading clutches is to allow slippage for an extended period of time between the friction material of these clutches. With the present invention it is possible to force a clutch into a slippage condition by overwriting and controlling the RAM variable associated with the desired clutch state (unlock, partial lock, full lock). Thus, it is desirable to provide a technique for simulating an embedded controller and the algorithms in the embedded controller without the need to provide physical stimulation to the embedded controller.